
---
sidebar_position: 3 
---
# 比较评估器

LangChain中的比较评估器帮助衡量两个不同的链或LLM输出。这些评估器对于比较分析非常有用，例如在两种语言模型之间进行A/B测试，或者比较同一模型的不同版本。它们也可以用于生成AI辅助强化学习的偏好分数。

这些评估器继承自`PairwiseStringEvaluator`类，为两个字符串提供比较接口 - 通常是两个不同提示或模型的输出，或同一模型的两个版本。本质上，比较评估器对一对字符串进行评估，并返回一个包含评估分数和其他相关详细信息的字典。

要创建自定义比较评估器，继承`PairwiseStringEvaluator`类并覆盖`_evaluate_string_pairs`方法。如果你需要异步评估，也要覆盖`_aevaluate_string_pairs`方法。

以下是比较评估器的关键方法和属性的概述：

- `evaluate_string_pairs`：评估输出字符串对。创建自定义评估器时应覆盖此函数。
- `aevaluate_string_pairs`：异步评估输出字符串对。此函数应在异步评估时被覆盖。
- `requires_input`：此属性指示此评估器是否需要输入字符串。
- `requires_reference`：此属性指定此评估器是否需要参考标签。

:::note LangSmith Support
[run_on_dataset](https://api.python.langchain.com/en/latest/api_reference.html#module-langchain.smith)评估方法设计为一次只评估一个模型，因此，不支持这些评估器。
:::

关于创建自定义评估器和可用的内置比较评估器的详细信息在以下部分提供。

import DocCardList from "@theme/DocCardList";

<DocCardList />

